package org.robolectric.internal.bytecode; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class MethodSignatureTest { @Test public void parse_shouldHandlePrimitiveReturnTypes() { final MethodSignature signature = MethodSignature.parse("java/lang/Long/foo(Ljava/lang/Integer;)Z"); assertThat(signature.className).isEqualTo("java.lang.Long"); assertThat(signature.methodName).isEqualTo("foo"); assertThat(signature.paramTypes).contains("java.lang.Integer"); assertThat(signature.returnType).isEqualTo("boolean"); } @Test public void parse_shouldHandleObjectReturnTypes() { final MethodSignature signature = MethodSignature.parse("java/lang/Long/foo(Ljava/lang/Integer;)Ljava/lang/Long;"); assertThat(signature.className).isEqualTo("java.lang.Long"); assertThat(signature.methodName).isEqualTo("foo"); assertThat(signature.paramTypes).contains("java.lang.Integer"); assertThat(signature.returnType).isEqualTo("java.lang.Long"); } }